package Informacion.Usuarios.Controlador;

import Informacion.Usuarios.BEAN.UsuarioBEAN;
import Informacion.Usuarios.DAO.UsuarioDAO;
import Informacion.Usuarios.Vista.AgregarUsuarios;
import Informacion.Usuarios.Vista.Usuarios;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import sape.Controlador;
import sape.MenuControlador;
import Informacion.PuestoDeTrabajo.BEAN.PuestoDeTrabajoBEAN;
import Informacion.PuestoDeTrabajo.DAO.PuestoDeTrabajoDAO;
import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;
/**
 *
 * @author melis_000
 */


public class AgregarUsuariosControlador extends Controlador {
    AgregarUsuarios vista;
    MenuControlador menu_controlador;
    public ArrayList<PuestoDeTrabajoBEAN>listaPuestos=null;

     
    
  public AgregarUsuariosControlador(AgregarUsuarios aThis) {
        this.vista = aThis;
  }
  
    public AgregarUsuariosControlador(AgregarUsuarios aThis, MenuControlador menu_controlador) {
        this.vista = aThis;
        this.menu_controlador = menu_controlador;
    }

    public void cancelar() {
                this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);

        Usuarios new_vista = new Usuarios(this.menu_controlador);
        this.menu_controlador.controlador_interno = new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }

    public void agregarNuevoUsuario(JTextField tbNombre, JTextField tbApellidoMaterno, JTextField tbApellidoPaterno, JTextField tbDni, JTextField tbMail, JTextField tbDireccion, JTextField tbTelefono, JTextField tbPlacaVehiculo, JTextField tbMarcaVehiculo, JTextField tbModeloVehiculo, JComboBox cmbPuestoTrabajo, JComboBox cmbTipoVehiculo, JTextField tbClave) {
        //faltan las validaciones de los combobox :S:S
        
        if (!(UsuarioDAO.validarString(tbNombre) && UsuarioDAO.validarString(tbApellidoMaterno)&& UsuarioDAO.validarString(tbApellidoPaterno)&& UsuarioDAO.validarDNI(tbDni)&& UsuarioDAO.validarMail(tbMail)&& UsuarioDAO.validarString(tbDireccion)&& UsuarioDAO.validarTelefono(tbTelefono)&& UsuarioDAO.validarTelefono(tbClave))) {
            //si esque tiene vehiculo validar
            //UsuarioDAO.validarString(tbPlacaVehiculo) && UsuarioDAO.validarString(tbMarcaVehiculo) && UsuarioDAO.validarString(tbModeloVehiculo)
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "No paso la validacion.");
            return;
        }
        
        //MENSAJE DE ERROR SI NO CUMPLE LAS VALIDACIONES. 
        //SI CUMPLE INSERCION.
        
        //falta machar el index del puesto del trabajo x.x!
        UsuarioBEAN usuario_nuevo = new UsuarioBEAN( tbNombre.getText(),tbApellidoMaterno.getText(), tbApellidoPaterno.getText(),  tbDni.getText(), tbDireccion.getText(), tbMail.getText(),  tbTelefono.getText(),  tbPlacaVehiculo.getText(),  tbMarcaVehiculo.getText(),  tbModeloVehiculo.getText(), cmbPuestoTrabajo.getSelectedIndex()+1,  cmbTipoVehiculo.getSelectedIndex()+1,tbClave.getText());
        String mensajeDAO = UsuarioDAO.agregarUsuario(usuario_nuevo);

        if (mensajeDAO.compareTo("OK") == 0) {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "Usuario Agregado");
        } else {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "ERROR: " + mensajeDAO);
        }

        
        
        //SE REGRESA A LA VISTA PRODUCTO.
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);
        Usuarios new_vista = new Usuarios(this.menu_controlador);
        this.menu_controlador.controlador_interno = new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }

    public void setListaPuestos() {
        listaPuestos=PuestoDeTrabajoDAO.getListaPuestosDeTrabajo();
        System.out.print(listaPuestos.size());
        String[] aux=new String[listaPuestos.size()];
        for(int i=0;i<listaPuestos.size();i++){
            aux[i]=listaPuestos.get(i).getPuesto();
            System.out.print(" melichichi"+listaPuestos.get(i).getPuesto());
        }
        this.vista.cmbPuestoModel=new DefaultComboBoxModel(aux);
    }

    public void disable() {
      
       
    }
    

     
}